home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Transformers: Revenge of …he Game: Press Kit (USA)
/
Transformers - Revenge of the Fallen - The Game - Press Kit (USA).bin
/
Transformers.swf
/
scripts
/
fl
/
video
/
VolumeBarAccImpl.as
< prev
Wrap
Text File
|
2009-06-19
|
9KB
|
295 lines
package fl.video
{
import flash.accessibility.Accessibility;
import flash.accessibility.AccessibilityImplementation;
import flash.accessibility.AccessibilityProperties;
import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.FocusEvent;
import flash.utils.Dictionary;
use namespace flvplayback_internal;
public class VolumeBarAccImpl extends AccessibilityImplementation
{
private static const ROLE_SYSTEM_INDICATOR:uint = 39;
private static const ROLE_SLIDER:uint = 51;
private static const STATE_SYSTEM_FOCUSABLE:uint = 1048576;
private static const EVENT_OBJECT_SELECTION:uint = 32774;
private static const ROLE_SYSTEM_PUSHBUTTON:uint = 43;
private static const STATE_SYSTEM_FOCUSED:uint = 4;
private static const STATE_SYSTEM_SELECTABLE:uint = 2097152;
private static const ROLE_WINDOW:uint = 9;
private static const EVENT_OBJECT_FOCUS:uint = 32773;
private static const STATE_SYSTEM_SELECTED:uint = 2;
private static const EVENT_OBJECT_VALUECHANGE:uint = 32782;
private static const EVENT_OBJECT_LOCATIONCHANGE:uint = 32779;
private static const STATE_SYSTEM_NORMAL:uint = 0;
private static const STATE_SYSTEM_UNAVAILABLE:uint = 1;
protected var master:Sprite;
protected var role:uint;
private var _vc:FLVPlayback;
public function VolumeBarAccImpl(param1:Sprite)
{
var n:int = 0;
var i:int = 0;
var sprite:Sprite = param1;
super();
stub = false;
master = sprite;
if(!master.accessibilityProperties)
{
master.accessibilityProperties = new AccessibilityProperties();
}
master.accessibilityProperties.forceSimple = true;
var events:Array = eventsToHandle;
if(events)
{
n = events.length;
i = 0;
while(i < n)
{
master.addEventListener(events[i],eventHandler);
i++;
}
}
master.addEventListener(FocusEvent.FOCUS_IN,focusInHandler);
try
{
_vc = Object(master).uiMgr._vc;
_vc.addEventListener(SoundEvent.SOUND_UPDATE,eventHandler);
}
catch(e:Error)
{
}
role = VolumeBarAccImpl.ROLE_SLIDER;
}
public static function createAccessibilityImplementation(param1:Sprite) : void
{
param1.accessibilityImplementation = new VolumeBarAccImpl(param1);
}
public static function enableAccessibility() : void
{
}
override public function get_accState(param1:uint) : uint
{
return uint(getState(param1));
}
protected function getName(param1:uint) : String
{
var _loc2_:String = "";
switch(param1)
{
case 1:
_loc2_ = "Page Left";
break;
case 2:
_loc2_ = "Position";
break;
case 3:
_loc2_ = "Page Right";
break;
case 0:
_loc2_ = "";
}
return _loc2_;
}
override public function get_accName(param1:uint) : String
{
var _loc2_:String = "";
if(param1 == 0 && master.accessibilityProperties && master.accessibilityProperties.name && master.accessibilityProperties.name != "")
{
_loc2_ += master.accessibilityProperties.name + " ";
}
_loc2_ += getName(param1) + getStatusName();
return _loc2_ != null && _loc2_ != "" ? _loc2_ : null;
}
override public function get_accDefaultAction(param1:uint) : String
{
if(param1 == 1 || param1 == 3)
{
return "Press";
}
return null;
}
protected function getState(param1:uint) : uint
{
var _loc2_:uint = STATE_SYSTEM_NORMAL;
if(param1 == 0)
{
if(!master.mouseEnabled || !master.tabEnabled)
{
_loc2_ |= STATE_SYSTEM_UNAVAILABLE;
}
else
{
_loc2_ |= STATE_SYSTEM_FOCUSABLE;
}
if(Sprite(master).stage.focus == master)
{
_loc2_ |= STATE_SYSTEM_FOCUSED;
}
}
return _loc2_;
}
override public function accDoDefaultAction(param1:uint) : void
{
var _loc2_:UIManager = _vc.uiMgr as UIManager;
var _loc3_:Boolean = _loc2_._isMuted;
var _loc4_:Number = !!_loc3_ ? Number(Math.round(_loc2_.cachedSoundLevel * 1000) / 100) : Number(Math.round(_vc.volume * 1000) / 100);
if(param1 == 1)
{
if(Math.floor(_loc4_) != _loc4_)
{
_vc.volume = Math.floor(_loc4_) / 10;
}
else
{
_vc.volume = Math.max(0,(_loc4_ - 1) / 10);
}
}
else if(param1 == 3)
{
if(Math.round(_loc4_) != _loc4_)
{
_vc.volume = Math.round(_loc4_) / 10;
}
else
{
_vc.volume = Math.min(1,(_loc4_ + 1) / 10);
}
}
_loc2_.cachedSoundLevel = _vc.volume;
if(_loc3_)
{
_loc2_._isMuted = true;
_loc2_.cachedSoundLevel = _vc.volume;
_vc.volume = 0;
_loc2_.setEnabledAndVisibleForState(UIManager.MUTE_OFF_BUTTON,VideoState.PLAYING);
_loc2_.skinButtonControl(_loc2_.controls[UIManager.MUTE_OFF_BUTTON]);
_loc2_.setEnabledAndVisibleForState(UIManager.MUTE_ON_BUTTON,VideoState.PLAYING);
_loc2_.skinButtonControl(_loc2_.controls[UIManager.MUTE_ON_BUTTON]);
}
}
private function focusInHandler(param1:Event) : void
{
if(Accessibility.active)
{
Accessibility.sendEvent(master,0,EVENT_OBJECT_FOCUS);
Accessibility.sendEvent(master,0,EVENT_OBJECT_VALUECHANGE,true);
}
}
override public function get_accRole(param1:uint) : uint
{
if(param1 == 0)
{
return role;
}
if(param1 == 2)
{
return ROLE_SYSTEM_INDICATOR;
}
return ROLE_SYSTEM_PUSHBUTTON;
}
protected function eventHandler(param1:Event) : void
{
if(param1.type == SoundEvent.SOUND_UPDATE)
{
if(Accessibility.active)
{
Accessibility.sendEvent(master,0,EVENT_OBJECT_SELECTION);
Accessibility.sendEvent(master,0,EVENT_OBJECT_VALUECHANGE,true);
}
}
}
override public function get_accValue(param1:uint) : String
{
var _loc2_:Number = NaN;
if(param1 == 0)
{
_loc2_ = Math.round(_vc.volume * 10000) / 100;
return String(_loc2_) + "%";
}
return null;
}
private function getStatusName() : String
{
return "";
}
protected function get eventsToHandle() : Array
{
return [];
}
override public function accLocation(param1:uint) : *
{
var _loc7_:DisplayObject = null;
var _loc2_:Object = master;
var _loc3_:UIManager = _vc.uiMgr as UIManager;
var _loc4_:DisplayObject = _loc3_.controls[UIManager.VOLUME_BAR] as DisplayObject;
var _loc5_:Dictionary;
var _loc6_:ControlData = (_loc5_ = UIManager(_loc3_).ctrlDataDict as Dictionary)[_loc4_];
if(_loc5_[_loc6_.fullness_mc].mask_mc)
{
_loc7_ = DisplayObject(_loc5_[_loc6_.fullness_mc].mask_mc);
}
switch(param1)
{
case 1:
case 3:
if(_loc7_)
{
_loc2_ = _loc7_;
}
}
return _loc2_;
}
override public function getChildIDArray() : Array
{
var _loc1_:Array = [];
var _loc2_:uint = 0;
while(_loc2_ < 3)
{
_loc1_[_loc2_] = _loc2_ + 1;
_loc2_++;
}
return _loc1_;
}
}
}